home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Source Code / Libraries / Graphic Elements 3 / GEMisc / SFXCtrlr.h < prev    next >
Text File  |  1995-05-26  |  1KB  |  55 lines

  1. /*
  2.     SFXCtrlr.h
  3.     
  4.     Special Effects controller element
  5.     
  6.     Copyright 1994 by Al Evans. All rights reserved.
  7.     
  8.     6/8/94
  9.     
  10. */
  11.  
  12. #ifndef SFXCTRLR
  13. #define SFXCTRLR
  14.  
  15. #include "GraphElements.h"
  16.  
  17. typedef struct SFXController *SFXCtrlrPtr;
  18.  
  19. // Type definition for SFX processor procedure
  20. typedef pascal void (*SFXProcessor)(SFXCtrlrPtr controller);
  21.  
  22. typedef struct SFXController {
  23.     GrafElement        baseGraphic;
  24.     GWorldPtr        sfxSrc;                // copy of subject's graphic
  25.     SFXProcessor    sfxProc;            // processor for this effect
  26.     Ptr                sfxData;            // extra data for sfxProc
  27.     long            firstStepTime;        // time first step will be executed
  28.     short            currentStep;        // number of step now displayed
  29.     short            nSteps;                // total number of steps
  30.     Boolean            forward;            // true if stepping forward
  31.     Boolean            sfxIn;                // true if graphic fading blank->graphic
  32. } SFXController;
  33.  
  34. #ifdef __cplusplus
  35. extern "C" {
  36. #endif
  37.  
  38.  
  39. // Make SFX controller and start effect
  40. GrafElPtr DoGESFX(GEWorldPtr world, OSType ctrlrID, GrafElPtr subjectElement,
  41.                 SFXProcessor fxProc, short nSteps, short delay, short stepTime, 
  42.                 Boolean fxIn, Boolean forward);
  43.  
  44. // Is special effect finished?
  45. Boolean SFXFinished(GEWorldPtr world, OSType ctrlrID);
  46.  
  47. //Autochange proc for SFX
  48. pascal void AdvanceSFX(GEWorldPtr world, GrafElPtr graphic);
  49.  
  50. #ifdef __cplusplus
  51. }
  52. #endif
  53.  
  54.  
  55. #endif